Задан массив из n целых чисел. Вывести только его положительные элементы, не меняя первоначальный
порядок.
Вход. Первая
строка содержит число n (1 ≤ n ≤ 100). Во второй строке
записаны n
целых чисел, каждое из которых не превышает по модулю 100.
Выход. В первой строке вывести
количество положительных элементов массива. Во второй строке вывести сами
положительные элементы. Если положительных элементов в массиве нет, то вывести “NO”.
Пример входа 1 |
Пример выхода 1 |
7 -2 5 4 -3 7
-3 0 |
3 5 4 7 |
|
|
Пример входа 2 |
Пример выхода 2 |
5 -2 -1 0 -1
-5 |
NO |
массив
Читаем входную последовательность в массив. Подсчитываем
количество положительных чисел. Если оно равно 0, то выводим “NO”. Иначе
выводим количество положительных чисел и сами числа.
Реализация алгоритма
Объявим
массив для хранения последовательности.
int m[101];
Читаем входную последовательность в массив.
scanf("%d", &n);
for (i = 0; i < n; i++)
scanf("%d", &m[i]);
В переменной cnt подсчитаем количество положительных чисел.
cnt = 0;
for (i = 0; i < n; i++)
if (m[i] > 0) cnt++;
Если положительных чисел нет, то выводим “NO”.
if (cnt == 0)
printf("NO\n");
else
{
Выводим количество положительных чисел.
printf("%d\n", cnt);
Выводим положительные числа последовательности.
for (i = 0; i < n; i++)
if (m[i] > 0) printf("%d ", m[i]);
printf("\n");
}